<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: FIFO circular buffer</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CANopenNode
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__CO__CANopen__301__fifo.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">FIFO circular buffer<div class="ingroups"><a class="el" href="group__CO__CANopen__301.html">CANopen_301</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:CO__fifo_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CO__fifo_8h.html">CO_fifo.h</a></td></tr>
<tr class="memdesc:CO__fifo_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">FIFO circular buffer. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fifo object.  <a href="structCO__fifo__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga2c7db7d527e4055a5dde62b74dfc2818"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> { <br />
&#160;&#160;<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a1f111c3f5a9396da6ced33132a2341f9">CO_fifo_st_closed</a> = 0x01U, 
<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a7bf88ff5b78ef6a25a4391bc6423c1f7">CO_fifo_st_partial</a> = 0x02U, 
<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a70060b411fcbfa0696ca453d7f4348d4">CO_fifo_st_errTok</a> = 0x10U, 
<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a9c41b295a487450017cc3b1ce0bcedfb">CO_fifo_st_errVal</a> = 0x20U, 
<br />
&#160;&#160;<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a51c064e77b0e2bf3741719b57de65141">CO_fifo_st_errBuf</a> = 0x40U, 
<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a07a7d8d483365e3afdcf9dc5b2dd2143">CO_fifo_st_errInt</a> = 0x80U, 
<a class="el" href="group__CO__CANopen__301__fifo.html#gga2c7db7d527e4055a5dde62b74dfc2818a9e587fa1d802fbe939f6da9d44aba389">CO_fifo_st_errMask</a> = 0xF0U
<br />
 }</td></tr>
<tr class="memdesc:ga2c7db7d527e4055a5dde62b74dfc2818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitfields for status argument from CO_fifo_cpyTok2U8 function and similar.  <a href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">More...</a><br /></td></tr>
<tr class="separator:ga2c7db7d527e4055a5dde62b74dfc2818"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga44e8f83feb2dd463b2fbb399dcd4de4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d">CO_fifo_init</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t bufSize)</td></tr>
<tr class="memdesc:ga44e8f83feb2dd463b2fbb399dcd4de4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize fifo object.  <a href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d">More...</a><br /></td></tr>
<tr class="separator:ga44e8f83feb2dd463b2fbb399dcd4de4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6817a4baeaee87a578291e9de820b126"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga6817a4baeaee87a578291e9de820b126">CO_fifo_reset</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo)</td></tr>
<tr class="memdesc:ga6817a4baeaee87a578291e9de820b126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset fifo object, make it empty.  <a href="group__CO__CANopen__301__fifo.html#ga6817a4baeaee87a578291e9de820b126">More...</a><br /></td></tr>
<tr class="separator:ga6817a4baeaee87a578291e9de820b126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d456e83af18cce9db9157b5a30fac21"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga0d456e83af18cce9db9157b5a30fac21">CO_fifo_getSpace</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo)</td></tr>
<tr class="memdesc:ga0d456e83af18cce9db9157b5a30fac21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get free buffer space in <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object.  <a href="group__CO__CANopen__301__fifo.html#ga0d456e83af18cce9db9157b5a30fac21">More...</a><br /></td></tr>
<tr class="separator:ga0d456e83af18cce9db9157b5a30fac21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40ef4fc5dc184ef3c0c2f37eca1bc507"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga40ef4fc5dc184ef3c0c2f37eca1bc507">CO_fifo_getOccupied</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo)</td></tr>
<tr class="memdesc:ga40ef4fc5dc184ef3c0c2f37eca1bc507"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get size of data inside <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object.  <a href="group__CO__CANopen__301__fifo.html#ga40ef4fc5dc184ef3c0c2f37eca1bc507">More...</a><br /></td></tr>
<tr class="separator:ga40ef4fc5dc184ef3c0c2f37eca1bc507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c2deb5abee499ad2f1b5175a205bc5b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga7c2deb5abee499ad2f1b5175a205bc5b">CO_fifo_putc</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, const char c)</td></tr>
<tr class="memdesc:ga7c2deb5abee499ad2f1b5175a205bc5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put one character into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object.  <a href="group__CO__CANopen__301__fifo.html#ga7c2deb5abee499ad2f1b5175a205bc5b">More...</a><br /></td></tr>
<tr class="separator:ga7c2deb5abee499ad2f1b5175a205bc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9351e31e5d74e738fe5e1514f99f2dd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gae9351e31e5d74e738fe5e1514f99f2dd">CO_fifo_putc_ov</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, const char c)</td></tr>
<tr class="memdesc:gae9351e31e5d74e738fe5e1514f99f2dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put one character into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object.  <a href="group__CO__CANopen__301__fifo.html#gae9351e31e5d74e738fe5e1514f99f2dd">More...</a><br /></td></tr>
<tr class="separator:gae9351e31e5d74e738fe5e1514f99f2dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c1237aa63123d0ab8e9e16132a5c40a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga4c1237aa63123d0ab8e9e16132a5c40a">CO_fifo_getc</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf)</td></tr>
<tr class="memdesc:ga4c1237aa63123d0ab8e9e16132a5c40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get one character from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object.  <a href="group__CO__CANopen__301__fifo.html#ga4c1237aa63123d0ab8e9e16132a5c40a">More...</a><br /></td></tr>
<tr class="separator:ga4c1237aa63123d0ab8e9e16132a5c40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga715cb5e1feacd2f3af5bc8195bbe69d3"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga715cb5e1feacd2f3af5bc8195bbe69d3">CO_fifo_write</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, const char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> *crc)</td></tr>
<tr class="memdesc:ga715cb5e1feacd2f3af5bc8195bbe69d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object.  <a href="group__CO__CANopen__301__fifo.html#ga715cb5e1feacd2f3af5bc8195bbe69d3">More...</a><br /></td></tr>
<tr class="separator:ga715cb5e1feacd2f3af5bc8195bbe69d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0ba8be2a601030a374913e4fa94e6cb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gad0ba8be2a601030a374913e4fa94e6cb">CO_fifo_read</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> *eof)</td></tr>
<tr class="memdesc:gad0ba8be2a601030a374913e4fa94e6cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object.  <a href="group__CO__CANopen__301__fifo.html#gad0ba8be2a601030a374913e4fa94e6cb">More...</a><br /></td></tr>
<tr class="separator:gad0ba8be2a601030a374913e4fa94e6cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55c186098b2d860b116ddeb637a27b5a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga55c186098b2d860b116ddeb637a27b5a">CO_fifo_altBegin</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, size_t offset)</td></tr>
<tr class="memdesc:ga55c186098b2d860b116ddeb637a27b5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes alternate read with <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a>.  <a href="group__CO__CANopen__301__fifo.html#ga55c186098b2d860b116ddeb637a27b5a">More...</a><br /></td></tr>
<tr class="separator:ga55c186098b2d860b116ddeb637a27b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c534dd50959814b40c3027aa85f1c55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga7c534dd50959814b40c3027aa85f1c55">CO_fifo_altFinish</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, <a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> *crc)</td></tr>
<tr class="memdesc:ga7c534dd50959814b40c3027aa85f1c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends alternate read with <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a> and calculate crc checksum.  <a href="group__CO__CANopen__301__fifo.html#ga7c534dd50959814b40c3027aa85f1c55">More...</a><br /></td></tr>
<tr class="separator:ga7c534dd50959814b40c3027aa85f1c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ee45a0cab19a212022d82987de2a955"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2ee45a0cab19a212022d82987de2a955">CO_fifo_altGetOccupied</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo)</td></tr>
<tr class="memdesc:ga2ee45a0cab19a212022d82987de2a955"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get alternate size of remaining data, see <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a>.  <a href="group__CO__CANopen__301__fifo.html#ga2ee45a0cab19a212022d82987de2a955">More...</a><br /></td></tr>
<tr class="separator:ga2ee45a0cab19a212022d82987de2a955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa28339101c4ac5a2c44004276075c759"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759">CO_fifo_altRead</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count)</td></tr>
<tr class="memdesc:gaa28339101c4ac5a2c44004276075c759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alternate read data from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object.  <a href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759">More...</a><br /></td></tr>
<tr class="separator:gaa28339101c4ac5a2c44004276075c759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dbef46e369e659bab7e29742971134c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga0dbef46e369e659bab7e29742971134c">CO_fifo_CommSearch</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> clear)</td></tr>
<tr class="memdesc:ga0dbef46e369e659bab7e29742971134c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search command inside FIFO.  <a href="group__CO__CANopen__301__fifo.html#ga0dbef46e369e659bab7e29742971134c">More...</a><br /></td></tr>
<tr class="separator:ga0dbef46e369e659bab7e29742971134c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2df6fbc2e44688a31ae8142102794e8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2df6fbc2e44688a31ae8142102794e8b">CO_fifo_trimSpaces</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo)</td></tr>
<tr class="memdesc:ga2df6fbc2e44688a31ae8142102794e8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trim spaces inside FIFO.  <a href="group__CO__CANopen__301__fifo.html#ga2df6fbc2e44688a31ae8142102794e8b">More...</a><br /></td></tr>
<tr class="separator:ga2df6fbc2e44688a31ae8142102794e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87a199708c95d3ca02e2fcc4ca4a6319"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga87a199708c95d3ca02e2fcc4ca4a6319">CO_fifo_readToken</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, char *closed, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> *err)</td></tr>
<tr class="memdesc:ga87a199708c95d3ca02e2fcc4ca4a6319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get token from FIFO buffer.  <a href="group__CO__CANopen__301__fifo.html#ga87a199708c95d3ca02e2fcc4ca4a6319">More...</a><br /></td></tr>
<tr class="separator:ga87a199708c95d3ca02e2fcc4ca4a6319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50b3075a0cfab3ab8608a4ba4977ecd6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga50b3075a0cfab3ab8608a4ba4977ecd6">CO_fifo_readU82a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga50b3075a0cfab3ab8608a4ba4977ecd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint8_t variable from fifo and output as ascii string.  <a href="group__CO__CANopen__301__fifo.html#ga50b3075a0cfab3ab8608a4ba4977ecd6">More...</a><br /></td></tr>
<tr class="separator:ga50b3075a0cfab3ab8608a4ba4977ecd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99072bd50ad3b92c291136e458885ca2"><td class="memItemLeft" align="right" valign="top"><a id="ga99072bd50ad3b92c291136e458885ca2"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga99072bd50ad3b92c291136e458885ca2">CO_fifo_readU162a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga99072bd50ad3b92c291136e458885ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint16_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga99072bd50ad3b92c291136e458885ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a2d7d07570a8f552a81e8c72327f43c"><td class="memItemLeft" align="right" valign="top"><a id="ga9a2d7d07570a8f552a81e8c72327f43c"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga9a2d7d07570a8f552a81e8c72327f43c">CO_fifo_readU322a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga9a2d7d07570a8f552a81e8c72327f43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint32_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga9a2d7d07570a8f552a81e8c72327f43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8805e75a32e9f8672259f2274816a0b8"><td class="memItemLeft" align="right" valign="top"><a id="ga8805e75a32e9f8672259f2274816a0b8"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga8805e75a32e9f8672259f2274816a0b8">CO_fifo_readU642a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga8805e75a32e9f8672259f2274816a0b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint64_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga8805e75a32e9f8672259f2274816a0b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ed37d0c4caea872cfe15a0c2e86fe0e"><td class="memItemLeft" align="right" valign="top"><a id="ga7ed37d0c4caea872cfe15a0c2e86fe0e"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga7ed37d0c4caea872cfe15a0c2e86fe0e">CO_fifo_readX82a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga7ed37d0c4caea872cfe15a0c2e86fe0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint8_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga7ed37d0c4caea872cfe15a0c2e86fe0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3202ac32250b599f5a5719c52264578a"><td class="memItemLeft" align="right" valign="top"><a id="ga3202ac32250b599f5a5719c52264578a"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga3202ac32250b599f5a5719c52264578a">CO_fifo_readX162a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga3202ac32250b599f5a5719c52264578a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint16_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga3202ac32250b599f5a5719c52264578a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dcf1f06de7b744d95c6a65721828a5a"><td class="memItemLeft" align="right" valign="top"><a id="ga8dcf1f06de7b744d95c6a65721828a5a"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga8dcf1f06de7b744d95c6a65721828a5a">CO_fifo_readX322a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga8dcf1f06de7b744d95c6a65721828a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint32_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga8dcf1f06de7b744d95c6a65721828a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga387acd7fdbd61389a42935d452dbd409"><td class="memItemLeft" align="right" valign="top"><a id="ga387acd7fdbd61389a42935d452dbd409"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga387acd7fdbd61389a42935d452dbd409">CO_fifo_readX642a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga387acd7fdbd61389a42935d452dbd409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read uint64_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga387acd7fdbd61389a42935d452dbd409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00fe8ce9f04846e8c756a09aad22cf03"><td class="memItemLeft" align="right" valign="top"><a id="ga00fe8ce9f04846e8c756a09aad22cf03"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga00fe8ce9f04846e8c756a09aad22cf03">CO_fifo_readI82a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga00fe8ce9f04846e8c756a09aad22cf03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read int8_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga00fe8ce9f04846e8c756a09aad22cf03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01a1765094d97ca3d0c5bbf98d1b8b1f"><td class="memItemLeft" align="right" valign="top"><a id="ga01a1765094d97ca3d0c5bbf98d1b8b1f"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga01a1765094d97ca3d0c5bbf98d1b8b1f">CO_fifo_readI162a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga01a1765094d97ca3d0c5bbf98d1b8b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read int16_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga01a1765094d97ca3d0c5bbf98d1b8b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a7a2ec338f735cdddf7ea7f7c0fd3a5"><td class="memItemLeft" align="right" valign="top"><a id="ga6a7a2ec338f735cdddf7ea7f7c0fd3a5"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga6a7a2ec338f735cdddf7ea7f7c0fd3a5">CO_fifo_readI322a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga6a7a2ec338f735cdddf7ea7f7c0fd3a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read int32_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga6a7a2ec338f735cdddf7ea7f7c0fd3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf959a6b823cc6db1d2107fd1faa40472"><td class="memItemLeft" align="right" valign="top"><a id="gaf959a6b823cc6db1d2107fd1faa40472"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gaf959a6b823cc6db1d2107fd1faa40472">CO_fifo_readI642a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:gaf959a6b823cc6db1d2107fd1faa40472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read int64_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:gaf959a6b823cc6db1d2107fd1faa40472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74aad9b161d3953221a99d4b238f3c1f"><td class="memItemLeft" align="right" valign="top"><a id="ga74aad9b161d3953221a99d4b238f3c1f"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga74aad9b161d3953221a99d4b238f3c1f">CO_fifo_readR322a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga74aad9b161d3953221a99d4b238f3c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read float32_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:ga74aad9b161d3953221a99d4b238f3c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc55fa15874eaf757acf83921d0156c4"><td class="memItemLeft" align="right" valign="top"><a id="gadc55fa15874eaf757acf83921d0156c4"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gadc55fa15874eaf757acf83921d0156c4">CO_fifo_readR642a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:gadc55fa15874eaf757acf83921d0156c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read float64_t variable from fifo as ascii string, see CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:gadc55fa15874eaf757acf83921d0156c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9bfcb5f9c52de5f7239ab133fe326ec"><td class="memItemLeft" align="right" valign="top"><a id="gae9bfcb5f9c52de5f7239ab133fe326ec"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gae9bfcb5f9c52de5f7239ab133fe326ec">CO_fifo_readHex2a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:gae9bfcb5f9c52de5f7239ab133fe326ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from fifo and output as space separated two digit ascii string, see also CO_fifo_readU82a. <br /></td></tr>
<tr class="separator:gae9bfcb5f9c52de5f7239ab133fe326ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8000ba92f2023a88b5f7d0399373b206"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga8000ba92f2023a88b5f7d0399373b206">CO_fifo_readVs2a</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *fifo, char *buf, size_t count, <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> end)</td></tr>
<tr class="memdesc:ga8000ba92f2023a88b5f7d0399373b206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from fifo and output as visible string.  <a href="group__CO__CANopen__301__fifo.html#ga8000ba92f2023a88b5f7d0399373b206">More...</a><br /></td></tr>
<tr class="separator:ga8000ba92f2023a88b5f7d0399373b206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1788f69639bcc6bfa59bf85e57e5e13a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga1788f69639bcc6bfa59bf85e57e5e13a">CO_fifo_cpyTok2U8</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga1788f69639bcc6bfa59bf85e57e5e13a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read ascii string from src fifo and copy as uint8_t variable to dest fifo.  <a href="group__CO__CANopen__301__fifo.html#ga1788f69639bcc6bfa59bf85e57e5e13a">More...</a><br /></td></tr>
<tr class="separator:ga1788f69639bcc6bfa59bf85e57e5e13a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf19bdbd45626578afc8a19de43698e0b"><td class="memItemLeft" align="right" valign="top"><a id="gaf19bdbd45626578afc8a19de43698e0b"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gaf19bdbd45626578afc8a19de43698e0b">CO_fifo_cpyTok2U16</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:gaf19bdbd45626578afc8a19de43698e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to uint16_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:gaf19bdbd45626578afc8a19de43698e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2816b287cc2091d2382aaa6ac56e422"><td class="memItemLeft" align="right" valign="top"><a id="gae2816b287cc2091d2382aaa6ac56e422"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gae2816b287cc2091d2382aaa6ac56e422">CO_fifo_cpyTok2U32</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:gae2816b287cc2091d2382aaa6ac56e422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to uint32_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:gae2816b287cc2091d2382aaa6ac56e422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfd3fdfda66e1feb6982f68377a8b7e2"><td class="memItemLeft" align="right" valign="top"><a id="gacfd3fdfda66e1feb6982f68377a8b7e2"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gacfd3fdfda66e1feb6982f68377a8b7e2">CO_fifo_cpyTok2U64</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:gacfd3fdfda66e1feb6982f68377a8b7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to uint64_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:gacfd3fdfda66e1feb6982f68377a8b7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae038564001c68ab242a6f33756668ac5"><td class="memItemLeft" align="right" valign="top"><a id="gae038564001c68ab242a6f33756668ac5"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gae038564001c68ab242a6f33756668ac5">CO_fifo_cpyTok2I8</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:gae038564001c68ab242a6f33756668ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to int8_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:gae038564001c68ab242a6f33756668ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga306913df146db90f7209b89080d51640"><td class="memItemLeft" align="right" valign="top"><a id="ga306913df146db90f7209b89080d51640"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga306913df146db90f7209b89080d51640">CO_fifo_cpyTok2I16</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga306913df146db90f7209b89080d51640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to int16_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:ga306913df146db90f7209b89080d51640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f5b25af39c5a78faf04e54cb3cc90f7"><td class="memItemLeft" align="right" valign="top"><a id="ga4f5b25af39c5a78faf04e54cb3cc90f7"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga4f5b25af39c5a78faf04e54cb3cc90f7">CO_fifo_cpyTok2I32</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga4f5b25af39c5a78faf04e54cb3cc90f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to int32_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:ga4f5b25af39c5a78faf04e54cb3cc90f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a9bd6e8d07d20ded9aeca531f412d50"><td class="memItemLeft" align="right" valign="top"><a id="ga6a9bd6e8d07d20ded9aeca531f412d50"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga6a9bd6e8d07d20ded9aeca531f412d50">CO_fifo_cpyTok2I64</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga6a9bd6e8d07d20ded9aeca531f412d50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to int64_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:ga6a9bd6e8d07d20ded9aeca531f412d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga853847c375425a55fc2007880d94c484"><td class="memItemLeft" align="right" valign="top"><a id="ga853847c375425a55fc2007880d94c484"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga853847c375425a55fc2007880d94c484">CO_fifo_cpyTok2R32</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga853847c375425a55fc2007880d94c484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to float32_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:ga853847c375425a55fc2007880d94c484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b17d4f3c0d272bb73d82a79cd51cd3d"><td class="memItemLeft" align="right" valign="top"><a id="ga8b17d4f3c0d272bb73d82a79cd51cd3d"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga8b17d4f3c0d272bb73d82a79cd51cd3d">CO_fifo_cpyTok2R64</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga8b17d4f3c0d272bb73d82a79cd51cd3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ascii string to float64_t variable, see CO_fifo_cpyTok2U8. <br /></td></tr>
<tr class="separator:ga8b17d4f3c0d272bb73d82a79cd51cd3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3c4acf458a13bd6c4e5b0bc2adca10b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#gab3c4acf458a13bd6c4e5b0bc2adca10b">CO_fifo_cpyTok2Hex</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:gab3c4acf458a13bd6c4e5b0bc2adca10b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy bytes written as two hex digits into to data.  <a href="group__CO__CANopen__301__fifo.html#gab3c4acf458a13bd6c4e5b0bc2adca10b">More...</a><br /></td></tr>
<tr class="separator:gab3c4acf458a13bd6c4e5b0bc2adca10b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cb3d7032cd46dfeb3b6c0bbd5ed1575"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__CANopen__301__fifo.html#ga8cb3d7032cd46dfeb3b6c0bbd5ed1575">CO_fifo_cpyTok2Vs</a> (<a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *dest, <a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *src, <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *status)</td></tr>
<tr class="memdesc:ga8cb3d7032cd46dfeb3b6c0bbd5ed1575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy visible string to data.  <a href="group__CO__CANopen__301__fifo.html#ga8cb3d7032cd46dfeb3b6c0bbd5ed1575">More...</a><br /></td></tr>
<tr class="separator:ga8cb3d7032cd46dfeb3b6c0bbd5ed1575"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>FIFO is organized as circular buffer with predefined capacity. It must be initialized by <a class="el" href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d" title="Initialize fifo object.">CO_fifo_init()</a>. Functions are not not thread safe.</p>
<p>It can be used as general purpose FIFO circular buffer for any data. Data can be written by <a class="el" href="group__CO__CANopen__301__fifo.html#ga715cb5e1feacd2f3af5bc8195bbe69d3" title="Write data into CO_fifo_t object.">CO_fifo_write()</a> and read by <a class="el" href="group__CO__CANopen__301__fifo.html#gad0ba8be2a601030a374913e4fa94e6cb" title="Read data from CO_fifo_t object.">CO_fifo_read()</a> functions.</p>
<p>Buffer has additional functions for usage with CiA309-3 standard. It acts as circular buffer for storing ascii commands and fetching tokens from them. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga2c7db7d527e4055a5dde62b74dfc2818"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c7db7d527e4055a5dde62b74dfc2818">&#9670;&nbsp;</a></span>CO_fifo_st</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bitfields for status argument from CO_fifo_cpyTok2U8 function and similar. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a1f111c3f5a9396da6ced33132a2341f9"></a>CO_fifo_st_closed&#160;</td><td class="fielddoc"><p>Bit is set, if command delimiter is reached in src. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a7bf88ff5b78ef6a25a4391bc6423c1f7"></a>CO_fifo_st_partial&#160;</td><td class="fielddoc"><p>Bit is set, if copy was partial and more data are available. </p>
<p>If unset and no error, then all data was successfully copied. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a70060b411fcbfa0696ca453d7f4348d4"></a>CO_fifo_st_errTok&#160;</td><td class="fielddoc"><p>Bit is set, if no valid token found. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a9c41b295a487450017cc3b1ce0bcedfb"></a>CO_fifo_st_errVal&#160;</td><td class="fielddoc"><p>Bit is set, if value is not valid or out of limits. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a51c064e77b0e2bf3741719b57de65141"></a>CO_fifo_st_errBuf&#160;</td><td class="fielddoc"><p>Bit is set, if destination buffer is to small. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a07a7d8d483365e3afdcf9dc5b2dd2143"></a>CO_fifo_st_errInt&#160;</td><td class="fielddoc"><p>Bit is set, if internal error. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga2c7db7d527e4055a5dde62b74dfc2818a9e587fa1d802fbe939f6da9d44aba389"></a>CO_fifo_st_errMask&#160;</td><td class="fielddoc"><p>Bitmask for error bits. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga44e8f83feb2dd463b2fbb399dcd4de4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga44e8f83feb2dd463b2fbb399dcd4de4d">&#9670;&nbsp;</a></span>CO_fifo_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CO_fifo_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize fifo object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object will be initialized </td></tr>
    <tr><td class="paramname">buf</td><td>Pointer to externally defined buffer </td></tr>
    <tr><td class="paramname">bufSize</td><td>Size of the above buffer. Usable size of the buffer will be one byte less than bufSize, it is used for operation of the circular buffer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga6817a4baeaee87a578291e9de820b126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6817a4baeaee87a578291e9de820b126">&#9670;&nbsp;</a></span>CO_fifo_reset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void CO_fifo_reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reset fifo object, make it empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga0d456e83af18cce9db9157b5a30fac21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0d456e83af18cce9db9157b5a30fac21">&#9670;&nbsp;</a></span>CO_fifo_getSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t CO_fifo_getSpace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get free buffer space in <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of available bytes </dd></dl>

</div>
</div>
<a id="ga40ef4fc5dc184ef3c0c2f37eca1bc507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga40ef4fc5dc184ef3c0c2f37eca1bc507">&#9670;&nbsp;</a></span>CO_fifo_getOccupied()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t CO_fifo_getOccupied </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get size of data inside <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of occupied bytes </dd></dl>

</div>
</div>
<a id="ga7c2deb5abee499ad2f1b5175a205bc5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c2deb5abee499ad2f1b5175a205bc5b">&#9670;&nbsp;</a></span>CO_fifo_putc()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> CO_fifo_putc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Put one character into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramname">c</td><td>Character to put</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true, if write was successful (enough space in fifo buffer) </dd></dl>

</div>
</div>
<a id="gae9351e31e5d74e738fe5e1514f99f2dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9351e31e5d74e738fe5e1514f99f2dd">&#9670;&nbsp;</a></span>CO_fifo_putc_ov()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void CO_fifo_putc_ov </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Put one character into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object. </p>
<p>Overwrite old characters, if run out of space</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramname">c</td><td>Character to put </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga4c1237aa63123d0ab8e9e16132a5c40a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4c1237aa63123d0ab8e9e16132a5c40a">&#9670;&nbsp;</a></span>CO_fifo_getc()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> CO_fifo_getc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get one character from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> buffer object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer of length one byte, where character will be copied</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true, if read was successful (non-empty fifo buffer) </dd></dl>

</div>
</div>
<a id="ga715cb5e1feacd2f3af5bc8195bbe69d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga715cb5e1feacd2f3af5bc8195bbe69d3">&#9670;&nbsp;</a></span>CO_fifo_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> *&#160;</td>
          <td class="paramname"><em>crc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write data into <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object. </p>
<p>This function copies data from buf into internal buffer of <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object. Function returns number of bytes successfully copied. If there is not enough space in destination, not all bytes will be copied.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">buf</td><td>Buffer which will be copied </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">count</td><td>Number of bytes in buf </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">crc</td><td>Externally defined variable for CRC checksum, ignored if NULL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes actually written. </dd></dl>

</div>
</div>
<a id="gad0ba8be2a601030a374913e4fa94e6cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0ba8be2a601030a374913e4fa94e6cb">&#9670;&nbsp;</a></span>CO_fifo_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> *&#160;</td>
          <td class="paramname"><em>eof</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read data from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object. </p>
<p>This function copies data from internal buffer of <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object into buf. Function returns number of bytes successfully copied. Function also writes true into eof argument, if command delimiter character is reached.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">buf</td><td>Buffer into which data will be copied </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">count</td><td>Copy up to count bytes into buffer </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">eof</td><td>If different than NULL, then search for delimiter character. If found, then read up to (including) that character and set *eof to true. Otherwise set *eof to false.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes actually read. </dd></dl>

</div>
</div>
<a id="ga55c186098b2d860b116ddeb637a27b5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga55c186098b2d860b116ddeb637a27b5a">&#9670;&nbsp;</a></span>CO_fifo_altBegin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_altBegin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes alternate read with <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramname">offset</td><td>Offset in bytes from original read pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>same as offset or lower, if there is not enough data. </dd></dl>

</div>
</div>
<a id="ga7c534dd50959814b40c3027aa85f1c55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c534dd50959814b40c3027aa85f1c55">&#9670;&nbsp;</a></span>CO_fifo_altFinish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CO_fifo_altFinish </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> *&#160;</td>
          <td class="paramname"><em>crc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ends alternate read with <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a> and calculate crc checksum. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">crc</td><td>Externally defined variable for CRC checksum, ignored if NULL </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga2ee45a0cab19a212022d82987de2a955"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2ee45a0cab19a212022d82987de2a955">&#9670;&nbsp;</a></span>CO_fifo_altGetOccupied()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t CO_fifo_altGetOccupied </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get alternate size of remaining data, see <a class="el" href="group__CO__CANopen__301__fifo.html#gaa28339101c4ac5a2c44004276075c759" title="Alternate read data from CO_fifo_t object.">CO_fifo_altRead</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of occupied bytes. </dd></dl>

</div>
</div>
<a id="gaa28339101c4ac5a2c44004276075c759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa28339101c4ac5a2c44004276075c759">&#9670;&nbsp;</a></span>CO_fifo_altRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_altRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alternate read data from <a class="el" href="structCO__fifo__t.html" title="Fifo object.">CO_fifo_t</a> object. </p>
<p>This function is similar as <a class="el" href="group__CO__CANopen__301__fifo.html#gad0ba8be2a601030a374913e4fa94e6cb" title="Read data from CO_fifo_t object.">CO_fifo_read()</a>, but uses alternate read pointer inside circular buffer. It reads data from the buffer and data remains in it. This function uses alternate read pointer and keeps original read pointer unchanged. Before using this function, alternate read pointer must be initialized with <a class="el" href="group__CO__CANopen__301__fifo.html#ga55c186098b2d860b116ddeb637a27b5a" title="Initializes alternate read with CO_fifo_altRead.">CO_fifo_altBegin()</a>. <a class="el" href="group__CO__CANopen__301__fifo.html#ga7c534dd50959814b40c3027aa85f1c55" title="Ends alternate read with CO_fifo_altRead and calculate crc checksum.">CO_fifo_altFinish()</a> sets original read pointer to alternate read pointer and so empties the buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer into which data will be copied </td></tr>
    <tr><td class="paramname">count</td><td>Copy up to count bytes into buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes actually read. </dd></dl>

</div>
</div>
<a id="ga0dbef46e369e659bab7e29742971134c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0dbef46e369e659bab7e29742971134c">&#9670;&nbsp;</a></span>CO_fifo_CommSearch()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> CO_fifo_CommSearch </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td>
          <td class="paramname"><em>clear</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Search command inside FIFO. </p>
<p>If there are some data inside the FIFO, then search for command delimiter.</p>
<p>If command is long, then in the buffer may not be enough space for it. In that case buffer is full and no delimiter is present. Function then returns true and command should be processed for the starting tokens. Buffer can later be refilled multiple times, until command is closed by command delimiter.</p>
<p>If this function returns different than 0, then buffer is usually read by multiple <a class="el" href="group__CO__CANopen__301__fifo.html#ga87a199708c95d3ca02e2fcc4ca4a6319" title="Get token from FIFO buffer.">CO_fifo_readToken()</a> calls. If reads was successful, then delimiter is reached and fifo-&gt;readPtr is set after the command. If any <a class="el" href="group__CO__CANopen__301__fifo.html#ga87a199708c95d3ca02e2fcc4ca4a6319" title="Get token from FIFO buffer.">CO_fifo_readToken()</a> returns nonzero *err, then there is an error and command should be cleared. All this procedure must be implemented inside single function call.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object. </td></tr>
    <tr><td class="paramname">clear</td><td>If true, then command will be cleared from the buffer. If there is no delimiter, buffer will be cleared entirely.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if command with delimiter found or buffer full. </dd></dl>

</div>
</div>
<a id="ga2df6fbc2e44688a31ae8142102794e8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2df6fbc2e44688a31ae8142102794e8b">&#9670;&nbsp;</a></span>CO_fifo_trimSpaces()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> CO_fifo_trimSpaces </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trim spaces inside FIFO. </p>
<p>Function removes all non graphical characters and comments from fifo buffer. It stops on first graphical character or on command delimiter (later is also removed).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if command delimiter was found. </dd></dl>

</div>
</div>
<a id="ga87a199708c95d3ca02e2fcc4ca4a6319"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga87a199708c95d3ca02e2fcc4ca4a6319">&#9670;&nbsp;</a></span>CO_fifo_readToken()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_readToken </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>closed</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> *&#160;</td>
          <td class="paramname"><em>err</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get token from FIFO buffer. </p>
<p>Function search FIFO buffer for token. Token is string of only graphical characters. Graphical character is any printable character except space with acsii code within limits: 0x20 &lt; code &lt; 0x7F (see isgraph() function).</p>
<p>If token is found, then copy it to the buf, if count is large enough. On success also set readPtr to point to the next graphical character.</p>
<p>Each token must have at least one empty space after it (space, command delimiter, '\0', etc.). Delimiter must not be graphical character.</p>
<p>If comment delimiter (delimComment, see <a class="el" href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d" title="Initialize fifo object.">CO_fifo_init</a>) character is found, then all string till command delimiter (delimCommand, see <a class="el" href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d" title="Initialize fifo object.">CO_fifo_init</a>) will be erased from the buffer.</p>
<p>See also <a class="el" href="group__CO__CANopen__301__fifo.html#ga0dbef46e369e659bab7e29742971134c" title="Search command inside FIFO.">CO_fifo_CommSearch()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">fifo</td><td>This object. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">buf</td><td>Buffer into which data will be copied. Will be terminated by '\0'. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">count</td><td>Copy up to count bytes into buffer </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">closed</td><td>This is input/output variable. Not used if NULL.<ul>
<li>As output variable it is set to 1, if command delimiter (delimCommand, see <a class="el" href="group__CO__CANopen__301__fifo.html#ga44e8f83feb2dd463b2fbb399dcd4de4d" title="Initialize fifo object.">CO_fifo_init</a>) is found after the token and set to 0 otherwise.</li>
<li>As input variable it is used for verifying error condition:<ul>
<li>*closed = 0: Set *err to true if token is empty or command delimiter is found.</li>
<li>*closed = 1: Set *err to true if token is empty or command delimiter is NOT found.</li>
<li>*closed = any other value: No checking of token size or command delimiter. </li>
</ul>
</li>
</ul>
</td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">err</td><td>If not NULL, it is set to true if token is larger than buf or in matching combination in 'closed' argument. If it is already true, then function returns immediately.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes read. </dd></dl>

</div>
</div>
<a id="ga50b3075a0cfab3ab8608a4ba4977ecd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga50b3075a0cfab3ab8608a4ba4977ecd6">&#9670;&nbsp;</a></span>CO_fifo_readU82a()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_readU82a </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read uint8_t variable from fifo and output as ascii string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fifo</td><td>This object. </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer into which ascii string will be copied. </td></tr>
    <tr><td class="paramname">count</td><td>Available count of bytes inside the buf. </td></tr>
    <tr><td class="paramname">end</td><td>If true, then fifo contains last bytes, which has to be read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of ascii bytes written into buf. </dd></dl>

</div>
</div>
<a id="ga8000ba92f2023a88b5f7d0399373b206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8000ba92f2023a88b5f7d0399373b206">&#9670;&nbsp;</a></span>CO_fifo_readVs2a()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_readVs2a </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read data from fifo and output as visible string. </p>
<p>A visible string is enclosed with double quotes. If a double quote is used within the string, the quotes are escaped by a second quotes, e.g. “Hello “”World””, CANopen is great”. See also CO_fifo_readU82a </p>

</div>
</div>
<a id="ga1788f69639bcc6bfa59bf85e57e5e13a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1788f69639bcc6bfa59bf85e57e5e13a">&#9670;&nbsp;</a></span>CO_fifo_cpyTok2U8()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_cpyTok2U8 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read ascii string from src fifo and copy as uint8_t variable to dest fifo. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">dest</td><td>destination fifo buffer object. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">src</td><td>source fifo buffer object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>bitfield of the CO_fifo_st type.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes written into dest. </dd></dl>

</div>
</div>
<a id="gab3c4acf458a13bd6c4e5b0bc2adca10b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab3c4acf458a13bd6c4e5b0bc2adca10b">&#9670;&nbsp;</a></span>CO_fifo_cpyTok2Hex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_cpyTok2Hex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy bytes written as two hex digits into to data. </p>
<p>Bytes may be space separated. See CO_fifo_cpyTok2U8 for parameters. </p>

</div>
</div>
<a id="ga8cb3d7032cd46dfeb3b6c0bbd5ed1575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8cb3d7032cd46dfeb3b6c0bbd5ed1575">&#9670;&nbsp;</a></span>CO_fifo_cpyTok2Vs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CO_fifo_cpyTok2Vs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structCO__fifo__t.html">CO_fifo_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CO__CANopen__301__fifo.html#ga2c7db7d527e4055a5dde62b74dfc2818">CO_fifo_st</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy visible string to data. </p>
<p>A visible string must be enclosed with double quotes, if it contains space. If a double quote is used within the string, the quotes are escaped by a second quotes. See CO_fifo_cpyTok2U8 </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Sat Sep 19 2020 10:03:20 for CANopenNode by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
